home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / dbms_mag / 9108 / bench4.aug < prev    next >
Text File  |  1991-07-19  |  2KB  |  63 lines

  1. Listing 4
  2.  
  3.  
  4. #include "sqlssp.h"
  5.  
  6. DBINT SQLCODE;
  7. long  RowsFetched;
  8. RETCODE  RetCode;
  9. extern long input[];
  10.  
  11.  
  12. void Xact20(USHORT usLevel,USHORT usGroup,FILE *df,DBPROCESS *dbproc)
  13. {
  14.    struct DataFileRecord20 DFR;
  15.  
  16.    DBCHAR LCatalogID[17];
  17.    DBCHAR LQuantity[9];
  18.    DBCHAR LPrice[9];
  19.    DBCHAR LDate[9];
  20.  
  21.    if (fread((char *) &DFR,sizeof(DFR),1,df) > 0) {
  22.       input[20]++;
  23.  
  24.       strncpy(LCatalogID, DFR.CatalogID, 16);
  25.       strtrim(LCatalogID, 17);
  26.  
  27.       strncpy(LQuantity, DFR.Quantity, 8);
  28.       strtrim(LQuantity, 9);
  29.  
  30.       strncpy(LPrice, DFR.Price, 8);
  31.       strtrim(LPrice, 9);
  32.  
  33.       strncpy(LDate, DFR.Date, 8);
  34.       strtrim(LDate, 9);
  35.  
  36. #if defined (DEBUG)
  37.       printf ("\n\nTransaction 20 - Update Price [%ld]\n\n",input[20]);
  38.       printf ("CatalogID :%s:\n",LCatalogID);
  39.       printf ("Quantity  :%s:\n",LQuantity);
  40.       printf ("Price     :%s:\n",LPrice);
  41.       printf ("Date      :%s:\n\n",LDate);
  42. #endif
  43.  
  44. /*--------------------------------------------------------
  45. |
  46. |   TRANSACTION 20: Update Price
  47. |
  48. --------------------------------------------------------*/
  49.       SetStartTime();
  50.       SQLCODE = dbfcmd(dbproc,"EXECUTE AG_XACT20 @CatalogID=\"%s\","
  51.           "@Date=\"%s\",@Price=$%s,@Quantity=%s",
  52.           LCatalogID,LDate,LPrice,LQuantity);
  53.  
  54.       if ((SQLCODE = dbsqlexec(dbproc)) == SUCCEED)
  55.          SQLCODE = dbresults(dbproc);
  56.       if (SQLCODE != CODE_SUCCEED) {
  57.      SetEndTime(usLevel,20,usGroup,0L);
  58.      return;
  59.       }
  60.       SetEndTime(usLevel,20,usGroup,1L);
  61.    }
  62. }
  63.